package cn.iocoder.yudao.module.handguard.dal.dataobject.productaccess;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.math.BigDecimal;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 产品准入 DO
 *
 * @author 芋道源码
 */
@TableName("hutai_product_access")
@KeySequence("hutai_product_access_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ProductAccessDO extends BaseDO {

    /**
     * id
     */
    @TableId
    private Long id;

    /**
     * 产品图片
     */
    private String productImg;

    /**
     * 产品准入名称
     */
    private String productName;
    /**
     * 公示表id
     */
    private Long publicityTypeId;

    /**
     * 申请流程
     */
    private String procedures;

    /**
     * 还款方式
     */
    private String modeOfRepayment;

    /**
     * 年华利率
     */
    private BigDecimal timeRate;

    /**
     * 期限
     */
    private Integer deadline;

    /**
     * 成数X(Z)
     */
    private BigDecimal portions;

    /**
     * 成数Y
     */
    private BigDecimal portionsTwo;


    /**
     * 倍数
     */
    private BigDecimal multiple;

    /**
     * 最高额度
     */
    private BigDecimal maxAmount;

    /**
     * 银行/机构
     */
    private String bank;

    //公示表名称
    @TableField(exist = false)
    private String typeNames;

    //额度
    @TableField(exist = false)
    private BigDecimal quotaFormula;

    //月供信息
    @TableField(exist = false)
    private BigDecimal monthlyInfo;

    //提成
    @TableField(exist = false)
    private BigDecimal deduct;

    @TableField(exist = false)
    private String units;

    //收费标准=直接利润
    @TableField(exist = false)
    private BigDecimal directProfit;

//    @TableField(exist = false)
//    private BigDecimal amount;
//
//    //
//    @TableField(exist = false)
//    private BigDecimal monthlyAmount;

}
